import axios from 'axios'
import { Toast } from 'vant'
// axios二次封装
// 1.添加loading状态
// 2.添加登录状态
// 3.获取数据会方便
// 4.设置请求的公共地址
// 5.根据环境来区分请求地址
// 6.错误处理
// 7.区分本地接口于第三方接口

console.log(process.env.NODE_ENV)
// development  (开发环境) 92  93  95
// production   (生产环境)

// 请求的公共地址
// 根据不同环境，设置不同的basURL
// if (process.env.NODE_ENV === "development") {
//     axios.defaults.baseURL = "https://api-hmugo-web.itheima.net/api/public/v1"
// } else if (process.env.NODE_ENV === "production") {
//     axios.defaults.baseURL = "https://api-hmugo-web.itheima.net/api/public/v1"
// }


// 创建多个axios


// let axios1 = axios.create({
//     baseURL: "/dev"
// })

// let axios2 = axios.create({
//     baseURL: "/api"
// })


axios.defaults.baseURL = "https://api-hmugo-web.itheima.net/api/public/v1"

// axios.defaults.baseURL = "https://api-hmugo-web.itheima.net/api/public/v1222222"

// 环境
// 开发环境  (冒烟测试)
// 测试环境  (功能型测试)   (性能型测试)
// 预生产环境  (真实数据)
// 生产环境  ()


// 发起请求
axios.interceptors.request.use((config) => {
    // 该次请求的配置项
    // console.log(config)
    let token = sessionStorage.getItem('token')? sessionStorage.getItem('token'): ''
    config.headers.Authorization = token
    // token
    Toast.loading({
        message: "加载中555...",
        forbidClick: true,
        duration: 60000
    });
    return config
})

// 响应结果
axios.interceptors.response.use((data) => {
    // data  该次请求返回的数据
    // console.log(data)
    Toast.clear()
    // return data.data.message
    return data
    // 添加处理错误信息
}, (error) => {
    // 
    if (error.response.status === 403) {
        Toast('没有权限')
    } else if (error.response.status === 500) {
        Toast('服务端错误')
    }
    console.log(error.response)
    return Promise.reject(error.response.data)
})

export default axios
// export {
//     axios1,
//     axios2
// }